Android Libraries Ecosystem Updates 20250502#29331
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR bumps Android libraries after the latest alignment bumps and fixes various nullability warnings/errors across the codebase.
- Updated nullability annotations in public API and platform accessibility methods.
- Added null conditional checks and updated interface implementations to accept nullable types.
Reviewed Changes
Copilot reviewed 8 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/Essentials/src/SecureStorage/SecureStorage.android.cs | Suppressed obsolete warnings around MasterKey usage. |
| src/Core/src/PublicAPI/net-android/PublicAPI.Shipped.txt | Modified accessibility method signatures for nullability updates in public API. |
| src/Core/src/Platform/Android/MauiScrollView.cs | Adjusted nullability of the NestedScrollView parameter in the scroll listener. |
| src/Core/src/Platform/Android/MauiMaterialButton.cs | Updated null checks using a null conditional operator on icons. |
| src/Core/src/Platform/Android/MauiAccessibilityDelegateCompat.cs | Altered nullability annotations in accessibility override methods. |
| src/Core/src/Platform/Android/AccessibilityDelegateCompatWrapper.cs | Updated all accessibility delegate overrides to accept nullable parameters. |
| src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Shipped.txt | Applied nullability changes to Controls’ accessibility API signatures. |
| src/Controls/src/Core/Platform/Android/ControlsAccessibilityDelegate.cs | Adjusted accessibility delegate override parameters for nullability. |
Files not reviewed (8)
- eng/AndroidX.targets: Language not supported
- eng/Versions.props: Language not supported
- src/Compatibility/Android.AppLinks/src/Compatibility.Android.AppLinks.csproj: Language not supported
- src/Compatibility/Maps/src/Android/Compatibility.Maps.Android.csproj: Language not supported
- src/Compatibility/Material/src/Android/Compatibility.Material.Android.csproj: Language not supported
- src/Controls/Foldable/src/Controls.Foldable.csproj: Language not supported
- src/Core/src/Core.csproj: Language not supported
- src/Essentials/src/Essentials.csproj: Language not supported
Comments suppressed due to low confidence (6)
src/Core/src/PublicAPI/net-android/PublicAPI.Shipped.txt:2289
- Changing the parameter type from non-nullable to nullable in this public API signature may be a breaking change; please ensure the impact is fully considered and documented.
override Microsoft.Maui.Platform.AccessibilityDelegateCompatWrapper.DispatchPopulateAccessibilityEvent(Android.Views.View? host, Android.Views.Accessibility.AccessibilityEvent? e) -> bool
src/Core/src/Platform/Android/MauiScrollView.cs:320
- Updating the parameter 'v' to be nullable requires confirming that downstream logic handles null inputs appropriately.
void IOnScrollChangeListener.OnScrollChange(NestedScrollView? v, int scrollX, int scrollY, int oldScrollX, int oldScrollY)
src/Core/src/Platform/Android/MauiMaterialButton.cs:88
- Using the null conditional operator on 'icons' is a safe update; please ensure that cases where 'icons' might be null are covered by tests.
if (icons?[1] is { } icon)
src/Core/src/Platform/Android/AccessibilityDelegateCompatWrapper.cs:34
- Changing API signatures to accept nullable parameters in a public API interface should be reviewed as a potential breaking change.
public override void OnInitializeAccessibilityNodeInfo(PlatformView? host, AccessibilityNodeInfoCompat? info)
src/Controls/src/Core/Platform/Android/ControlsAccessibilityDelegate.cs:18
- The update to allow nullable parameters in this public API method may affect consumers; please validate that this change is acceptable.
public override void OnInitializeAccessibilityNodeInfo(PlatformView? host, AccessibilityNodeInfoCompat? info)
src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Shipped.txt:7664
- Updating the nullability of parameters in this API signature is a breaking change; please verify that all consumers and related tests are updated accordingly.
override Microsoft.Maui.Controls.Platform.ControlsAccessibilityDelegate.OnInitializeAccessibilityNodeInfo(Android.Views.View? host, AndroidX.Core.View.Accessibility.AccessibilityNodeInfoCompat? info) -> void
src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Shipped.txt
Outdated
Show resolved
Hide resolved
rmarinho
left a comment
There was a problem hiding this comment.
All the public api changes files need to be on the unshipped file not changing the shipped one.
Description of Change